package com.baosight.risk.mapper.fltd;

import com.baosight.risk.base.mapper.BaseMapper;
import com.baosight.risk.service.fltd.entity.FltdProcess;
import com.baosight.risk.service.fltd.vo.FltdProcessVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 作者： lishaoqing
 * 时间： 2019年07月15日
 * 描述： FltdProcessMapper
 * 版本: v1.0
 */
public interface FltdProcessMapper extends BaseMapper<FltdProcess> {

    /**
     * 根据流程实例id查询流程实例
     *
     * @param procGuid 流程实例id
     * @return 流程实例
     */
    FltdProcess selectProcessById(@Param("procGuid") String procGuid);
    
    FltdProcess selectProcessByBizGuid(@Param("bizGuid") String bizGuid);

    /**
     * 查询所有流程实例
     *
     * @return 流程实例
     */
    List<FltdProcessVO> queryAll(@Param("fltdProcess") FltdProcessVO fltdProcess);

    /**
     * 更新流程实例状态
     *
     * @param fltdProcess 流程实例
     * @return 执行结果
     */
    int updateProcessStatus(@Param("fltdProcess") FltdProcess fltdProcess);

    /**
     * 查询流程节点提交策略
     * @param processDefId 流程定义id
     * @param nodeKey 节点编码
     * @return 节点提交策略
     */
    String selectDecideType(@Param("processDefId") String processDefId, @Param("nodeKey") String nodeKey);

}